package com.dzl.partition.service;

import com.dzl.partition.pojo.WelfarePartition;
import com.dzl.base.service.BaseService;
import com.dzl.partition.pojo.query.WelfarePartitionQuery;
import com.dzl.partition.pojo.vo.WelfarePartitionVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 分区表(WelfarePartition)表服务接口
 *
 * @author caobucao
 * @date 2021-05-21 17:34:42
 */
public interface WelfarePartitionService extends BaseService<WelfarePartition> {

    /**
     * 分页查询分区列表
     * @date 2021/5/21 17:43
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.partition.pojo.vo.WelfarePartitionVo>
     */
    PageInfo<WelfarePartitionVo> selectPartitionListPage(WelfarePartitionQuery query);

    /**
     *分区下拉列表(不过滤)
     * @date 2021/5/21 17:43
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.partition.pojo.vo.WelfarePartitionVo>
     */
    List<WelfarePartitionVo> selectPartitionListData(WelfarePartitionQuery query);

    /**
     * 分区下拉列表
     * @date 2021/8/24 0024 16:30
     * @author wangjian
     * @param enterpriseId 企业ID
     * @return java.util.List<com.dzl.partition.pojo.vo.WelfarePartitionVo>
     */
    List<WelfarePartitionVo> selectPartitionList(Integer enterpriseId);

    /**
     * 查询分区下是否关联商品
     * @date 2021/5/24 10:57
     * @author caobucao
     * @param id 分区id
     * @return java.lang.Integer
     */
    Integer selectCountGoodsById(Integer id);

    /**
     * 查询分区id是否被卡类型关联
     * @date 2021/7/5 15:14
     * @author caobucao
     * @param id  分区id
     * @return java.lang.Integer
     */
    Integer selectCountCardTypeByPartitionId(Integer id);

    /**
     * 根据idList查询
     * @date 2021/8/4 17:38
     * @author caobucao
     * @param partitionIdList 查询条件ids
     * @return java.util.List<com.dzl.partition.pojo.WelfarePartition>
     */
    List<WelfarePartition> selectByIds(List<Integer> partitionIdList);
}
